package git.soulbgm.pojo;

import cn.afterturn.easypoi.excel.annotation.Excel;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.SqlCondition;
import com.baomidou.mybatisplus.annotation.TableField;

import java.util.Date;

/**
 * 第三方软件信息表
 *
 * @author SoulBGM
 * @date 2020-11-18 10:03:05
 */
public class SoftwareInfo {

    /**
     * ID
     */
    private Long id;

    /**
     * 软件名称
     */
    @Excel(name = "软件名称")
    @TableField(condition = SqlCondition.LIKE)
    private String softwareName;

    /**
     * 软件进程名称
     */
    @Excel(name = "软件进程名称")
    @TableField(condition = SqlCondition.LIKE)
    private String processName;

    /**
     * 节点/设备编号
     */
    @Excel(name = "主机编号", type = 10)
    private Integer nodeCode;

    /**
     * 部署IP
     */
    @Excel(name = "部署IP")
    private String deployIp;

    /**
     * 检查端口 0 不进行端口检查 其它则进行检查
     */
    @Excel(name = "检查端口", type = 10)
    private Integer checkPort;

    /**
     * 启动服务脚本路径
     */
    @Excel(name = "启动服务脚本路径")
    private String startupScriptPath;

    /**
     * 停止服务脚本路径
     */
    @Excel(name = "停止服务脚本路径")
    private String stopScriptPath;

    /**
     * 预计启动时长 单位秒
     */
    @Excel(name = "预计启动时长(秒)")
    private Integer estimatedStartupTime;

    /**
     * 区域编号 0代表不区分区域 其他为自定义
     */
    @Excel(name = "区域编号")
    @TableField(fill = FieldFill.INSERT)
    private Integer regionCode;

    /**
     * 监控模式 1被动 2主动
     */
    @Excel(name = "监控模式", replace = {"被动_1", "主动_2"})
    private Integer monitorMode;

    /**
     * 是否自启 0 不自启 1 自启
     */
    @Excel(name = "是否自启", replace = {"不自启_0", "自启_1"})
    private Integer selfStart;

    /**
     * 监控状态 0 关闭 1 开启
     */
    @Excel(name = "监控状态", replace = {"关闭_0", "开启_1"})
    private Integer status;

    /**
     * 备注
     */
    @Excel(name = "备注")
    private String remark;

    /**
     * 创建时间
     */
    @Excel(name = "创建时间", format = "yyyy-MM-dd HH:mm:ss")
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getSoftwareName() {
        return softwareName;
    }

    public void setSoftwareName(String softwareName) {
        this.softwareName = softwareName;
    }

    public String getProcessName() {
        return processName;
    }

    public void setProcessName(String processName) {
        this.processName = processName;
    }

    public Integer getNodeCode() {
        return nodeCode;
    }

    public void setNodeCode(Integer nodeCode) {
        this.nodeCode = nodeCode;
    }

    public String getDeployIp() {
        return deployIp;
    }

    public void setDeployIp(String deployIp) {
        this.deployIp = deployIp;
    }

    public Integer getCheckPort() {
        return checkPort;
    }

    public void setCheckPort(Integer checkPort) {
        this.checkPort = checkPort;
    }

    public String getStartupScriptPath() {
        return startupScriptPath;
    }

    public void setStartupScriptPath(String startupScriptPath) {
        this.startupScriptPath = startupScriptPath;
    }

    public String getStopScriptPath() {
        return stopScriptPath;
    }

    public void setStopScriptPath(String stopScriptPath) {
        this.stopScriptPath = stopScriptPath;
    }

    public Integer getEstimatedStartupTime() {
        return estimatedStartupTime;
    }

    public void setEstimatedStartupTime(Integer estimatedStartupTime) {
        this.estimatedStartupTime = estimatedStartupTime;
    }

    public Integer getRegionCode() {
        return regionCode;
    }

    public void setRegionCode(Integer regionCode) {
        this.regionCode = regionCode;
    }

    public Integer getMonitorMode() {
        return monitorMode;
    }

    public void setMonitorMode(Integer monitorMode) {
        this.monitorMode = monitorMode;
    }

    public Integer getSelfStart() {
        return selfStart;
    }

    public void setSelfStart(Integer selfStart) {
        this.selfStart = selfStart;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
}